package com.softtown.modules.message.service;


import com.softtown.modules.sys.dto.AppealDTO;

/**
 * @version v1.0
 * @ProjectName: softtown-aioffice
 * @ClassName: SysEmailService
 * @Description: 邮箱Service层
 * @Author: fuming
 * @Date: 2019/7/11 9:20
 */
public interface SysEmailService {

    /**
     * @Title: sendEmailVerCode
     * @Description: 发送邮箱验证码Service接口
     * @param @param [receiver, verCode]
     * @return @return void
     * @author Dingyayong
     * @throws
     * @date 2019/7/12 19:08
     */
    boolean sendEmailVerCode(String receiver);

    /**
     * @Title: sendEmailVerCode
     * @Description: 发送邮箱验证码Service接口
     * @param @param [receiver, verCode]
     * @return @return void
     * @author Dingyayong
     * @throws
     * @date 2019/7/12 19:08
     */
    boolean sendEmailByAppeal(AppealDTO appealDTO,String admineMail);

    /**
     * @Title: sendEmailByRest
     * @Description: 邮箱发送验证码找回重置
     * @param @param [receiver, verCode]
     * @return @return void
     * @author Dingyayong
     * @throws
     * @date 2019/7/12 19:08
     */
    boolean sendEmailByRest(String receiver);

    /**
     * @Title: sendEmailByRest
     * @Description: 邮箱发送验证码绑定邮箱
     * @param @param [receiver, verCode]
     * @return @return void
     * @author Dingyayong
     * @throws
     * @date 2019/7/12 19:08
     */
    boolean sendEmailByEmail(String receiver);

    /**
     * @Title: sendEmailByRest
     * @Description: 邮箱发送验证码绑定新邮箱
     * @param @param [receiver, verCode]
     * @return @return void
     * @author Dingyayong
     * @throws
     * @date 2019/7/12 19:08
     */
    boolean sendEmailByNewEmail(String receiver,String username);

    /**
     * @Title: sendEmailByRest
     * @Description: 成员申请加入
     * @param @param [receiver, verCode]
     * @return @return void
     * @author Dingyayong
     * @throws
     * @date 2019/7/12 19:08
     */
    boolean sendEmailByUserEmpl(String receiver ,String compName,String userInfo);

    /**
     * @Title: sendEmailByRest
     * @Description: 管理员拒绝同意
     * @param @param [receiver, verCode]
     * @return @return void
     * @author Dingyayong
     * @throws
     * @date 2019/7/12 19:08
     */
    boolean sendEmailByManager(String receiver,String compName,String decision);

    /**
    * 邮箱注册  待定
    * @param
    * @return
    * @author Dingyayong
    * @date 2019/12/6 9:10
    */
    boolean sendEmailByRegister(String receiver);

    /**
     * 出差/差旅/借款发送邮件
     * @author Dingyayong
     * @date 2019/12/14
     * @param email eamil地址
     * @param emailTitle email标题
     * @param emailContent 内容
     */
    void sendEmailByTrvl(String email, String emailTitle, String emailContent);
}
